Routines (alphabetical) > Routines: I > INVERT

INVERT

Syntax | Return Value | Arguments | Keywords | Examples | Version History | See Also

The INVERT function uses the Gaussian elimination method to compute the inverse of a square array. Errors from singular or near-singular arrays are accumulated in the optional Status argument.

Note: If you are working with complex inputs, use the LA_INVERT function instead.

Syntax

Result = INVERT( Array [, Status] [, /DOUBLE] )

Return Value

The result is a single- or double-precision array of floating or complex values.

Arguments

Array

The array to be inverted. Array must have two dimensions of equal size (i.e., a square array) and can be of any type except string. Note that the resulting array will be composed of single- or double-precision floating-point or complex values, depending on whether the DOUBLE keyword is set.

Status

A named variable to receive the status of the operation. Possible status values are:

Keywords

DOUBLE

Set this keyword to force the computation to be done in double-precision arithmetic.

Examples

; Create an array A:
A = [[ 5.0, -1.0, 3.0], $
     [ 2.0, 0.0, 1.0], $
     [ 3.0, 2.0, 1.0]]
result = INVERT(A)

; We can check the accuracy of the inversion by multiplying the
; inverted array by the original array. The result should be a 3 x
; 3 identity array.
PRINT, result # A

IDL prints:

1.00000 0.00000 0.00000

0.00000 1.00000 0.00000

0.00000 9.53674e-07 1.00000

Version History

Original

Introduced

See Also

COND , DETERM , LA_INVERT , REVERSE , ROTATE , TRANSPOSE